﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace TMS.formularios
{
    public partial class UIEstadisticas : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

            if (!IsPostBack)
            { //si no es postback
                loadAppList();
            }
        }
        public void loadAppList() //Carga el dropdown list ddlApps.
        {
            //Carga el DropDownList de Aplicaciones.
            ddlApps.Items.Clear(); // Borra el contenido de la lista de aplicaciones disponibles.
            ListItem li = new ListItem("Seleccione una Aplicacion...", "0");
            ddlApps.Items.Add(li);
            foreach (Aplicacion ap in Dios.getInstancia().listarApps())
            {
                ListItem l = new ListItem(ap.Nombre, "" + ap.Id);
                ddlApps.Items.Add(l);
            }
            ddlApps.SelectedIndex = 0;
        }
        

        protected void btnEst_Click(object sender, EventArgs e)
        {
            
                }

        protected void ddlApps_SelectedIndexChanged(object sender, EventArgs e)
        {
            /*
             * Se obtienen las estadisticas para cada uno de los tres estados posibles de un error
             */ 
            List<float> lstAbierto = Dios.getInstancia().getEstadByAppId(long.Parse(ddlApps.SelectedValue), tipoEstado.Abierto + "");
            List<float> lstPendiente = Dios.getInstancia().getEstadByAppId(long.Parse(ddlApps.SelectedValue), tipoEstado.PendienteVerificacion + "");
            List<float> lstCerrado = Dios.getInstancia().getEstadByAppId(long.Parse(ddlApps.SelectedValue), tipoEstado.Cerrado + "");
            /*
             * Luego se organizan los resultados por estado del error.
             */ 
            lblACantidad.Text = "" + lstAbierto[0];
            lblABaja.Text = "" + lstAbierto[1];
            lblAMedia.Text = "" + lstAbierto[2];
            lblAAlta.Text = "" + lstAbierto[3];

            lblPCantidad.Text = "" + lstPendiente[0];
            lblPBaja.Text = "" + lstPendiente[1];
            lblPMedia.Text = "" + lstPendiente[2];
            lblPAlta.Text = "" + lstPendiente[3];

            lblCCantidad.Text = "" + lstCerrado[0];
            lblCBaja.Text = "" + lstCerrado[1];
            lblCMedia.Text = "" + lstCerrado[2];
            lblCAlta.Text = "" + lstCerrado[3];
        }
            
        }
    }
